<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> 
$(function(){
	//初始化顶级组织
	$("#sonOrgsSelect").combobox({
		 valueField:'orgcode', //绑定option控件value的字段
	     textField:'cnname' ,//绑定option控件显示文字字段
		onSelect:function(record){//选择更改后事件
			if(record.orgcode==""){
				clearData();
			}else{
				$.ajax({
					   type: "POST",
					   url: "<c:url value='/basic/getDeptOrgsData' />",
					   data: "topOrgCode="+record.orgcode+"&extType=<c:out value='${extType}' />",
					   success: function(msg){
					     if(msg.state=="200"){
					    	 
					    	 //填充左侧框数据
					    	 initAddedSelect(msg.addedOrgList);
					    	 
					    	//填充右侧框数据
					    	 initReserveSelect(msg.reserveOrgList);
					     }else{
					    	 $.messager.alert('提示','获取数据失败');
					     }
					     clearInputData();
					   }
					});
			}
		}
	});
	
	//初始化地域下拉框
	$("#parentOrgsSelect").combobox({
		 url:"<c:url value='/basic/getAllSendOrgsParent' />",//获取数据地址
		 valueField:"orgcode",//绑定option控件value的字段
		 textField:"cnname",//绑定option控件显示文字字段
		 loadFilter:function(data){//获取数据后添加一项“请选择”
			 data.unshift({ "orgcode": "", "cnname": "请选择","selected":true});
			 return data;
		 },
		 onSelect:function(record){//选择更改后事件
			if(record.orgcode==""){
				$("#sonOrgsSelect").combobox('loadData', [{"orgcode":"","cnname":"请选择","selected":true}]);
				clearData();
			}else{
				$.ajax({
					   type: "POST",
					   url: "<c:url value='/basic/getTopOrgData' />",
					   data: "parentOrgCode="+record.orgcode,
					   success: function(msg){
					     if(msg.state=="200"){
					    	 //填充顶级组织数据
					    	 initSonOrgsSelect(msg.sonOrgList);
					     }else{
					    	 $.messager.alert('提示','获取数据失败');
					     }
					   }
					});
			}
		}
	});
	
	//左侧多选下拉框选择事件
	$("#addedSelect").change(function(){
		//取消右侧已选择状态
		$("#reserveSelect option:selected").removeAttr("selected");
		
		//判断，如果只选择一项，给可修改区域赋值
		if($("#addedSelect option:selected").size()==1){
			$("#orgExtName").val($("#addedSelect option:selected").text());
			var alias=$("#addedSelect option:selected").attr("alias");
			if(alias!="null"&&alias!=null){
				$("#orgAliasName").val(alias);
			}else{
				$("#orgAliasName").val("");
			}
			var extno=$("#addedSelect option:selected").attr("extno");
			if(extno!="null"&&extno!=null){
				$("#orgExtNo").val(extno);
			}else{
				$("#orgExtNo").val("");
			}
		}else{
			clearInputData();
		}
	});
	//右侧多选下拉框选择事件
	$("#reserveSelect").change(function(){
		//取消左侧已选择状态
		$("#addedSelect option:selected").removeAttr("selected");
	});
	
	//添加按钮绑定事件
	$("#addBtn").click(function(){
		if($("#reserveSelect option:selected").size()==0){
			$.messager.alert('提示','请选择组织再操作');
			return;
		}
		var data="type=add&parentOrgCode="+$("input[name='sonOrgsSelect']").val()+"&topOrgCode="+$("input[name='sonOrgsSelect']").val()
		+"&orgCode="+getSelectStr("reserveSelect")+"&extType=<c:out value='${extType}' />";
		
		submitData(data);
		
	});
	
	//移除按钮绑定事件
	$("#removeBtn").click(function(){
		if($("#addedSelect option:selected").size()==0){
			$.messager.alert('提示','请选择组织再操作');
			return;
		}
		var data="type=remove&topOrgCode="+$("input[name='sonOrgsSelect']").val()
		+"&orgExtId="+getSelectStr("addedSelect")+"&extType=<c:out value='${extType}' />";
		
		submitData(data);
	});
	
	//保存按钮绑定事件
	$("#saveBtn").click(function(){
		if($("#addedSelect option:selected").size()!=1){
			$.messager.alert('提示','请选择一个组织再操作');
			return;
		}
		if($("#orgExtName").val()==""){
			$.messager.alert('提示','请填写组织名称');
			return;
		}
		var data="type=save&topOrgCode="+$("input[name='sonOrgsSelect']").val()+"&orgExtName="+$("#orgExtName").val()+"&extType=<c:out value='${extType}' />"
		+"&orgAliasName="+$("#orgAliasName").val()+"&extNo="+$("#orgExtNo").val()+"&orgExtId="+$("#addedSelect option:selected").val();
		
		
		submitData(data);
		
	});
});
//清空显示框数据
function clearData(){
	$("#addedSelect").empty();
	$("#reserveSelect").empty();
}
//清空填写文本
function clearInputData(){
	$("#orgExtName").val("");
	$("#orgAliasName").val("");
	$("#orgExtNo").val("");
}

//填充顶级组织数据
function initSonOrgsSelect(sonOrgList){
	if(sonOrgList && sonOrgList.length>0){
		//让第一个选项选中
		sonOrgList[0].selected=true; 
	}
	
	 //填充数据
	 $("#sonOrgsSelect").combobox('loadData', sonOrgList);
}
//填充左侧框数据
function initAddedSelect(addedOrgList){
	$("#addedSelect").empty();
	if(addedOrgList){
		$.each( addedOrgList, function(i, n){
			 $("#addedSelect").append("<option alias='"+n.orgAliasName+"'  extno='"+n.extNo+"' value='"+n.orgExtId+"'>"+n.orgName+"</option>");
			});
	}
}
//填充右侧框数据
function initReserveSelect(reserveOrgList){
	$("#reserveSelect").empty();
	if(reserveOrgList){
		$.each( reserveOrgList, function(i, n){
			 $("#reserveSelect").append("<option value='"+n.orgcode+"' >"+n.cnname+"</option>");
			});
	}
}
//提交数据
function submitData(data){
	$.ajax({
		   type: "POST",
		   url: "<c:url value='/basic/saveDeptOrg' />",
		   data: data,
		   success: function(msg){
		     if(msg.state=="200"){
		    	 
		    	 //填充左侧框数据
		    	 initAddedSelect(msg.addedOrgList);
		    	 
		    	//填充右侧框数据
		    	 initReserveSelect(msg.reserveOrgList);
		    	 
		    	 $.messager.alert('提示','操作成功');
		     }else{
		    	 $.messager.alert('提示','操作失败');
		     }
		     clearInputData();
		   }
		});
}
//获取选择的value拼接字符串
function getSelectStr(itemName){
	var selectStr="";
	var items=$("#"+itemName+" option:selected");
	if(items.size()>0){
		$.each( items, function(i, n){
			selectStr+=$(n).val();
			if(i<items.size()-1){
				selectStr+=",";
			}
			});
	}
	return selectStr;
}